#include <iostream>
#include <algorithm>
using namespace std;
struct node {
    int x,y;
};
bool cmp(node a, node b) {
    if(a.y>b.y)return true;
    if(a.y==b.y)return a.x>b.x;
    return false;
}
int main() {
    int n;
    cin>>n;
    while(n--) {
        int m;
        cin>>m;
        node a[m];
        for(int i=0; i<m; i++)cin>>a[i].x>>a[i].y;
        sort(a,a+m,cmp);
/*        for(int i=0; i<m; i++)cout<<a[i].x<<' ';
        cout<<endl;
        for(int i=0; i<m; i++)cout<<a[i].y<<' ';
        cout<<endl;*/
        int max;
        int count[m];
        for(int i=0; i<m; i++)count[i]=1;
        for(int i=1; i<m; i++) {
            max=0;
            for(int j=0; j<i; j++) {
                if(a[i].x>a[j].x&&max<count[j])max=count[j];
            }
            count[i]=count[i]+max;
        }
/*        for(int i=0; i<m; i++)cout<<count[i]<<' ';
        cout<<endl;*/
        max=0;
        for(int i=0; i<m; i++)
            if(count[i]>max)max=count[i];
        cout<<max<<endl;
    }
    return 0;
}
